package org.csu.group4.jpetstore.service;

import org.csu.group4.jpetstore.mybatis.entity.Item;
import org.csu.group4.jpetstore.mybatis.entity.Product;
import org.csu.group4.jpetstore.mybatis.entity.ShopCart;
import org.csu.group4.jpetstore.persistence.ItemDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class ItemService {
    @Autowired
    ItemDAO itemDAO;
    //通过product获得Item
    public List<Item> getItems(String productId){
        return itemDAO.getItemListByProduct(productId);
    }

    //上架物品
    public void addItem(Item item){
        itemDAO.addItem(item);
    }

    //修改物品信息
    public void updateItem(Item item){
        /*
        需要先获取一次 item ,修改完数据后调用此方法
         */
        itemDAO.addItem(item);
    }

    public Item getItem(String itemId){
        return itemDAO.getItem(itemId);
    }

    public void setItemStatus(String itemId){
        Item item = getItem(itemId);
        if (item==null)
            return;
        String status=item.getStatus();
        if(status.equals("S"))
            item.setStatus("P");//shang架
        else
            item.setStatus("S");

        itemDAO.updateItemStatus(item);
    }

    public List<Item> findallItem(List<ShopCart> shopCarts){
        List<Item> items = new ArrayList<>();
        for(int i=0;i<shopCarts.size();i++){
            items.add(itemDAO.getItem(shopCarts.get(i).getItemId()));
        }
        return items;
    }

    public double getPriceInCart(List<ShopCart> shopCarts){
        double p = 0;
        for(int i=0;i<shopCarts.size();i++){
            itemDAO.getItem(shopCarts.get(i).getItemId()).getListPrice();
            p=p+itemDAO.getItem(shopCarts.get(i).getItemId()).getListPrice().doubleValue();
        }
        return p;
    }
}
